package com.example.hellonotes.api;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

import android.app.Dialog;
import android.content.Context;
import android.widget.Toast;

import com.example.hellonotes.utils.Logger;
import com.example.hellonotes.utils.ToastUtils;
import com.sina.weibo.sdk.exception.WeiboException;
import com.sina.weibo.sdk.net.RequestListener;


/**
 * 该类继承RequestListener接口实现了其方法
 * 调用本类时 就无需重写所有方法  只需重写自己需要的方法
 * 
 * @author Administrator
 *
 */

public class SimpleRequestListener implements RequestListener {

	private Context context;
	private Dialog progressDialog;

	public SimpleRequestListener(Context context, Dialog progressDialog) {
		this.context = context;
		this.progressDialog = progressDialog;
	}
	
	/**
	 * gson对象成功返回数据的时候调用   
	 */
	@Override
	public void onComplete(String response) {
		onAllDone();
		Logger.show("REQUEST onComplete", response);
	}
	
	/**
	 * 字节对象成功返回数据时调用
	 */
	@Override
	public void onComplete4binary(ByteArrayOutputStream responseOS) {
		onAllDone();
		Logger.show("REQUEST onComplete4binary", responseOS.size() + "");
	}
	
	
	/**
	 * IO流错误
	 */
	@Override
	public void onIOException(IOException e) {
		onAllDone();
		ToastUtils.showToast(context, e.getMessage(), Toast.LENGTH_SHORT);
		Logger.show("REQUEST onIOException", e.toString());
	}
	
	
	/**
	 * 错误
	 */
	@Override
	public void onError(WeiboException e) {
		onAllDone();
		ToastUtils.showToast(context, e.getMessage(), Toast.LENGTH_SHORT);
		Logger.show("REQUEST onError", e.toString());
	}
	
	/**
	 * 该方法取消了 进度条对话框
	 */
	public void onAllDone() {
		if(progressDialog != null) {
			progressDialog.dismiss();
		}
	}

}
